通过DARPA项目看看芯片世界的“远方”- 自动化工具和开源硬件
上篇文章讨论了一下DARPA的ERI电子复兴计划最近新增的两个架构方面的项目(通过DARPA项目看看芯片世界的“远方”- Architectures)。而新增的项目中还有两个设计领域的项目,IDEAS(Intelligent Design of Electronic Assets)和POSH(Posh Open Source Hardware)。和架构项目的大背景类似,这两个项目也是为了在摩尔定律难以继续的情况下,通过提高设计效率的方法降低整体成本,进而支持半导体产业的持续增长。恰逢Nvidia的NVDLA正式开源,我们正好也可以借这个热点讨论一下开源硬件的问题。
•••
Intelligent Design of Electronic Assets (IDEA)
“No human in the loop” 24-hour layout generation for mixed signal integrated circuits, systems-in-package, and printed circuit boards.
下面这张图非常清楚的描述这个项目的目标。
左边是目前芯片设计,封装设计和PCB设计的流程。而右侧是“明天”的理想状态:只要一个Domain Expert(TA不需要芯片设计,封装设计和PCB设计的技能)把设计扔给机器就行了。这个理想的工具怎么实现?当然是靠“MACHINE LEARNING”啊。
“It is envisioned that the IDEA platform will leverage applied machine learning methodologies to continuously evolve and improve performance as new data sets become available. ”
“The customization offered from training will empower differentiation through the breadth and quality of training sets available to the end user, providing specialized users with an asymmetric advantage benefiting from an existing database of designs.”
“It is anticipated that achieving the autonomy goals of the IDEA program will require breakthroughs in machine learning and optimization algorithms.”
这个项目又分成两个技术领域:
TA-1: Machine Generated Physical Layout: Development of a unified physical layout generator for digital and analog SoCs, SiPs, and PCBs.
TA-2: Intent Driven System Synthesis: Development of an intent-driven, correct-by construction system generator.
这里需要指出的是,这个项目主要是针对物理设计而言,并不包括芯片的前端设计(如果包括就太牛了)。TA-1所重点研究的就是一个通用的Physical Layout Generator。它的输入是“(1) unannotated netlists for analog IC designs, (2) Verilog Register Transfer Level (RTL) and instantiated fixed circuit primitives/macros circuit blocks for digital IC designs, and (3) structured Verilog netlists for SiPs and PCBs.” 输出就是Layout结果。
TA-2则主要是根据系统的需求,基于Commercial Off The Shelf (COTS)的组件,比如可用的封装,SiP用的die,SoC IP,生成设计网表,提供给TA-1工具进行物理设计。
T.S.:
自动化设计工具一直是推动半导体产业的重要力量,而在摩尔定律越来越难以为继的今天就更为关键。如果能够解决IDEA项目提出的问题,无疑会大大提升芯片和硬件系统设计的生产力。但怎么实现这个看起来很美的目标呢?Machine Learning会是答案吗?我们拭目以待吧。
•••
Posh Open Source Hardware (POSH):
An open source System on Chip (SoC) design and verification eco-system that enables cost effective design of ultra-complex SoCs.
今年五月的时候Nvidia宣布要开源一个Deep Learning Accelerator,我也做了一些分析(从Nvidia开源深度学习加速器说起)。而在9月26日,Nvidia正式在Github上公布公布了NVDLA初始开源版本,之后的报道和分析很多,我就不再赘述了。我们可以通过POSH这个项目,更多的讨论一下硬件开源这个更大的话题。
首先,为什么需要开源硬件?
这张图描述的是目前的软件开发和SoC硬件设计的不同方法。不夸张的说,开源软件是目前软件开发可以快速、低成本的实现的一个关键。从Linux,GNU,Android到现在各种开源的AI Framework,成功的开源项目往往能够产生革命性的影响。而在硬件设计难度和成本越来越高的情况下,“能否在硬件领域复制开源软件的成功”,自然会成为一个值得考虑的问题。其实,硬件开源也不是新鲜的话题,之前有很多尝试,但成功的不多。
那么,为什么硬件开源很难成功呢?我觉得关键还是要回答“硬件开源是否经济?”这个问题。
我们做芯片设计的同学都应该很清楚,目前大家在一个芯片项目中投入的精力大量是用于验证的,因为芯片不能失败(或者有缺陷)。如果芯片硬件有绕不过去的bug,它带来的损失轻则是一次投片的费用打水漂,重则影响产品的上市时间或者公司的信誉,导致客户的流失,可能带来致命的打击。芯片项目和软件项目对Bug的容忍度有着根本的不同。所以,面对一个免费开源的硬件,在对它有足够的理解和验证测试之前你敢用吗?更不用说你可能还需要修改。如果你好不容易理解了这个设计,突然又有人增加了feature,提交了改动,你是不是还得再重新理解和验证一遍呢?另外,软件开源项目的一个重要指标是它的活跃度,有越多的人参与,它的进化就越快,越成功。硬件项目呢,更多开发者的参与是否意味着更大的风险和更高的成本呢?......
上述这些都可以归结为一个问题“是否能有快速、有效、低成本的验证方法让我们能对开源硬件有信心呢?”
这个问题也是POSH项目关注的第一个技术领域:
TA-1: Hardware Assurance Technology: Development of hardware assurance technology appropriate for signoff quality validation of deeply hierarchical analog and digital circuits of unknown origin.
而它的基本的解决思路也无外乎现有的验证方法,包括Formal,Simulation,Emulation和Prototype。当然这个项目重点强调了“cost effective”,毕竟这个项目的核心就是通过开源硬件来降低芯片研发成本。比如,L1要求“minimal (or zero) engineering effort from the user.”; L2 “should demonstrate a productive, fast, and cost effective simulation platform that enables application centric high assurance validation of complex SoCs.”; L3 “should demonstrate a cost effective hybrid emulation and prototyping platform to enable high assurance validation appropriate for open source SoC development.”
POSH项目关心的第二个技术领域是:
TA-2: Open Source Hardware Technology: Development of design methods, standards, and critical IP components needed to kick-start a viable open source SoC eco-system.
这里就牵扯到开源的另一个问题,生态。拿这次Nvidia的开源为例,NVDLA本来是Nvidia用于自动驾驶的SoC中的一部分,而这个SoC由很多模块组成,CPU,GPU,加速器,各种接口等等。DLA只是众多IP中的一个(虽然是很有名气的一个)。如果还没有感觉,可以看看同样用于自动驾驶的Mobileye的EyeQ4的框图。DLA也许相当于这其中的PMA或者ACC。
图片来自www.imgtec.com
这两天不少同学看到NVDLA之后很兴奋,觉得加上个RSIC-V核就可以自己搞个AI芯片了,可能还是要三思啊。
那么POSH项目讲的“open source SoC eco-system”是个什么概念,大家可以看看POSH项目希望参与者能够开发的IP列表。
一个芯片项目需要的生态是很复杂的,而一个SoC芯片是否能成功,也不是靠一两个免费开源的IP决定的。
T.S.:
硬件开源是一个讨论了很久的话题,最近由于Nvidia开源DLA获得了更多关注。说实话,我觉得POSH这个项目在DARPA这几个项目中,可能是最难取得实际进展的一个。软件开源的成功能否复制到硬件,既面临技术的挑战,又有生态和经济因素等诸多限制,非常困难。但不管怎么说,能将自己的知识成果分享给大家,RISC-V、NVDLA和其它开源硬件项目能够开源就是非常有价值的事情。
题图来自网络,版权归原作者所有
推荐阅读通过DARPA项目看看芯片世界的“远方”- Architectures
长按二维码关注